package cn.gzsxt.service;

import java.util.List;
import java.util.Map;

import cn.gzsxt.utils.Page;

public interface PermissionService {
	
	/**
	 * 增加权限记录，如果成功返回记录，失败返回null
	 * @param permission
	 * @return
	 */
	Map<String, Object> addPermission(Map<String, Object> permission);
	
	/**
	 * 通过编号删除权限
	 * @param permissionIds
	 * @return
	 */
	int deletePermissionByIds(Object... permissionIds);
	
	/**
	 * 更新权限记录
	 * @param permission
	 * @return
	 */
	Map<String, Object> editPermission(Map<String, Object> permission);
	
	/**
	 * 查询所有的权限
	 * 
	 * @return
	 */
	List<Map<String, Object>> findAllPermission();

	/**
	 * 通过条件查询权限数据，并且分页
	 * 
	 * @param condition
	 *            设置查询的条件
	 * @param index
	 *            数据库下标索引
	 * @param size
	 *            每页记录数据
	 * @return 返回一个分页对象
	 */
	Page findPermissionByConditionToPage(Map<String, Object> condition, int index, int size);

	/**
	 * 通过权限编号查询一条记录
	 * @param permissionId
	 * @return
	 */
	Map<String, Object> findPermissionById(Object permissionId);

}
